package org.afs.gescol.core.model.references;

import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import org.scub.foundation.framework.core.model.BaseModel;

/**
 * Reference model for school subject.
 * @autor Kobla GBENYO (kobla.gbenyo@gmail.com)
 */
@Entity
@Table(name = "ref_subject")
@AttributeOverrides({@AttributeOverride(name = "id", column = @Column(name = "subject_id", nullable = false)),
    @AttributeOverride(name = "version", column = @Column(name = "subject_version", nullable = false, unique = false)),
})
public class Subject extends BaseModel {

    /** Serial Version UID. */
    private static final long serialVersionUID = 4473766477017351997L;

    /** School Subject Short label. */
    @Column(name = "subject_short_label")
    private String shortLabel;

    /** School Subject Long label. */
    @Column(name = "subject_long_label")
    private String longLabel;

    /**
     * Get the value of shortLabel.
     * @return the shortLabel
     */
    public String getShortLabel() {
        return shortLabel;
    }

    /**
     * Get the value of longLabel.
     * @return the longLabel
     */
    public String getLongLabel() {
        return longLabel;
    }

    /**
     * Set the value of shortLabel.
     * @param shortLabel the shortLabel to set
     */
    public void setShortLabel(String shortLabel) {
        this.shortLabel = shortLabel;
    }

    /**
     * Set the value of longLabel.
     * @param longLabel the longLabel to set
     */
    public void setLongLabel(String longLabel) {
        this.longLabel = longLabel;
    }

    @Override
    public boolean equals(Object other) {
        return equalsUtil(other);
    }

    @Override
    public int hashCode() {
        return super.hashCode();
    }

}
